A wireless data communications network is characterized by two or more stations which share the use of a common wireless communications medium or channel to facilitate transmission of data packets or frames between communicating peers. Since the medium is shared among all stations in the network, some means of controlling access to the medium is required to prevent two stations from simultaneously attempting to control the medium. Wireless communication is further complicated by the lack of a tangible physical medium making the connection between stations.
Communications must adhere to the protocols prescribed by the specifications applicable to the particular type of wireless communications network at hand. Such wireless standards specify a general format for data packets or frames transmitted on the network, as well as a protocol to be followed by communicating peers and other stations sharing the network medium.
The frame format typically includes some MAC (medium access control) addressing mechanism to distinguish the frame intended to be received by a particular station on the network (i.e., the wireless station assigned that MAC address), in which case the other stations on the network may ignore the frame. To mitigate the vagaries of frame transmission in a wireless network, the receiving station is typically required to provide positive acknowledgement that it has successfully received the frame. The acknowledgement also informs other stations that the use of the medium for the current frame is now complete and that the medium is now available for other use.
In some applications it is desirable to operate several stations within a single device. An illustrative example is a device which mimics the operation of a number of wireless stations for test purposes. A device of this character is disclosed in application Ser. No. 10/424,161 filed 25 Apr. 2003. That application is, in its entirety, incorporated herein by reference.
In applications as described in the preceding paragraph, the device or system emulates multiple wireless stations, each with its distinct and unique MAC address. The wireless stations so emulated appear from the network standpoint to be distinct nodes on the network, these nodes being concurrently active in accordance with protocol requirements.
A fundamental problem to be solved in such a system is how to share the system's single wireless interface and MAC hardware among the several emulated stations and to do so in a way that satisfies the requirements of a particular wireless communication protocol; specifically, to generate proper acknowledgement for received frames and to receive acknowledgement for transmitted frames. When exchanging frames on the wireless network, the receiver must send an acknowledgement to the sender. If the sender does not receive the acknowledgment, it will attempt to resend the frame up to some maximum number of retries. Other stations on the wireless network may not use the communication medium until the acknowledgement is sent, up to a period of some maximum duration.
All stations are required to refrain from initiating a new frame exchange on the medium for the duration of the current frame exchange. The acknowledgement/retry logic is typically implemented in the interface hardware to avoid the slower response time and additional processor overhead of a software implementation. This unfortunately prevents the system software from being able to initiate an acknowledgement in a timely manner, leading to multiple resends and timeouts. There is accordingly an existing and continuing need in a system as described above for a mechanism that will allow the wireless stations emulated by the system to so share the wireless communication network and the wireless data communication medium that delays in acknowledgement of transmitted and received messages which would otherwise tie up communications in the wireless data communications network can be avoided.